import numpy as np
import torch


class HyperParm:
    FMIN = 20  # 人类20~20000Hz
    FMAX = 1600  # 太高频其实不怎么听得到
    SAMPLE_RATE = 10000  # 采样率，load时会降采样或插值;备选值：8000
    N_FFT: int = 2048  # 短波傅里叶窗口
    HOP_LENGTH: int = 512  # 窗口滑动值
    N_MELS: int = 128  # mel滤波器个数

    N_BINDS = 8

    TILE_THRESHOLD = 0.6

    MEL_DATA_TYPE = np.float32

    ENHANCED_RATE = 2

    SHUFFLE_AUDIO_NUM = 4

    LEARNING_RATE = 0.00001
    MOMENTUM = 0.9

    N_EPOCH = 300

    PIC_SIZE = (128, 128)
    N_CHANNEL = 3
    DATA_SIZE = (N_CHANNEL, *PIC_SIZE)

    MODEL_WEIGHT_DATA_TYPE = torch.float32

    N_SPLIT = 6

    BATCH_SIZE = 10

    N_SAVE_INTERVAL = 10

    TEMPERATURE = 1
    ALPHA = 0.5
